CentOS6でメモリとディスク使用率を監視したいのでCloudWatchモニタリングスクリプトを使ってみた
テクニカルサポートチームの丸屋 正志(まるちゃん)です。
はじめに
下記のような事情があり、やむを得なく(現在では非推奨とされている)モニタリングスクリプトを使用したい方を対象にしております。
- サポート切れである CentOS6 を使用するのは本来推奨されないが、その上でどうしても使い続ける必要がある
- メモリとディスク使用率をカスタムメトリクスとして取得するには CloudWatch エージェント を使用するのが一般的ですが、 CentOS6 では対応していない
ここでは 『非推奨: CloudWatch モニタリングスクリプトを使用したメトリクスの収集』 を使用していますが、他にもサードパーティの監視ツールを用いたメモリやディスク使用率を監視する方法はいくつかございます。
注意事項
- 必ずインスタンスのバックアップを取得しよう
- 本番環境で試すのではなく、開発・検証と試してから本番環境に導入
- 導入については自己責任
1: 導入手順 : 非推奨のCloudWatch モニタリングスクリプト
- 作業前に 必ず インスタンスのバックアップを取得してください。
- コマンドプロンプトで以下のようにパッケージをインストールします。
sudo yum -y install perl-DateTime perl-CPAN \ perl-Net-SSLeay perl-IO-Socket-SSL \ perl-Digest-SHA gcc zip unzip
-
昇格されたユーザーとして CPAN を実行します。
sudo cpan
-> 次のプロンプトが表示されるまで、各プロンプトで Enter キー を押します。
cpan[1]>
-
CPAN プロンプトで、次の各コマンドを実行します。1 つのコマンドを実行してインストールを実行し、CPAN プロンプトに戻ったら次のコマンドを実行します。次の処理に進むことを求めるプロンプトが表示されたら、Enter キーを押します。
cpan[1]> install YAML cpan[2]> install LWP::Protocol::https cpan[3]> install Sys::Syslog cpan[4]> install Switch
-
コマンドプロンプトで、モニタリングスクリプトを保存するフォルダに移動し、次のコマンドを実行してモニタリングスクリプトをダウンロードします。
curl https://aws-cloudwatch.s3.amazonaws.com/downloads/CloudWatchMonitoringScripts-1.2.2.zip -O
-
ダウンロードしたモニタリングスクリプトをインストールするには、以下のコマンドを実行します
unzip CloudWatchMonitoringScripts-1.2.2.zip && \ rm CloudWatchMonitoringScripts-1.2.2.zip && \ cd aws-scripts-mon
-
CloudWatch にレポートされたメトリクスの cron スケジュール を設定するには、
crontab -e
コマンドを使用して crontab の編集を開始します。crontab -e
-> 5 分ごとにメモリの使用状況を CloudWatch にレポートするには、以下のコマンドを追加します。
*/5 * * * * ~/aws-scripts-mon/mon-put-instance-data.pl --mem-used-incl-cache-buff --mem-util --mem-used --mem-avail --from-cron
2: 導入手順 : オプションについて
オプションなどの詳細については、下記 AWS 公式ドキュメントをご参照ください。
3: 導入手順 : CloudWatch メトリクス の確認手順
- CloudWatch メトリクスコンソールに移動
- 当該インストール ID を検索
- i-XXXXXXXXXXX
- カスタム名前空間【Linux システム>Instanceld】を選択
実際の取得画面ですが、下記のように閲覧することが出来ます。
さいごに
やむを得ない事情があるかと思いますが、それでもサポート終了 OS を利用し続けるのは、リスクが大きくなる懸念があるため、まずはサポートされている OS へのリプレイスを検討しましょう。